chore: update native SDKs to versions with geofence support - #609
chore: update native SDKs to versions with geofence support#609mrehan27 wants to merge 10 commits into
Conversation
Wire the optional geofence module without enabling behavior yet: build flags (customerio_geofence_enabled gradle property, geofence podspec subspec), the geofence opt-in config key, and the exported CustomerIOGeofence class. Enabling geofence also pulls in Location, which geofence depends on, and turns on the Location build flag on both platforms so geofence-only builds get the full Location module. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sample app builds 📱Below you will find the list of the latest versions of the sample apps. It's recommended to always download the latest builds of the sample apps to accurately test the pull request.
|
…tion (#612) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2cb7b96 to
7d93b96
Compare
7d93b96 to
be8acc3
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit be8acc3. Configure here.
| # cioSDKVersionAndroid=local | ||
| # TEMP: geofence is not yet released; point at the feature-branch snapshot so the | ||
| # example can be built and tested. Revert once the native SDKs ship. | ||
| cioSDKVersionAndroid=feature-geofence-on-device-SNAPSHOT |
There was a problem hiding this comment.
Android snapshot property not applied
High Severity
The example app sets cioSDKVersionAndroid to the geofence snapshot, but the React Native Android module resolves the native SDK via getExtOrDefault('cioSDKVersionAndroid'), which only reads rootProject.ext.cioSDKVersionAndroid or customerio.reactnative.cioSDKVersionAndroid. The snapshot line is ignored, so Gradle keeps resolving 4.20.0 from the library defaults even though that artifact is not released yet.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit be8acc3. Configure here.
…n screen (#614) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
iOS 4.7.0, Android 4.20.0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
be8acc3 to
4dde188
Compare
Point the example at pre-release native builds so geofence can be tested before the native SDKs are released, and publish this PR's sample builds to the feature-branch Firebase channel so subscribed peers can use them. Revert this commit once the native SDKs ship. - iOS: load the geofence-aware CocoaPods override and build against the customerio-ios `main` branch (now that geofence is merged there), via a single cio_ios_sdk_branch variable — change only that to retarget a future feature. Pin the native iOS SDK to 4.6.1 (main's podspec) so pods resolve until 4.7.0. - Android: example uses the feature-branch snapshot + the central snapshot repo. There is no native main snapshot yet, so the Android sample build is expected to fail until native Android releases geofence. - CI: distribute this PR branch's sample builds to the feature-branch group. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4dde188 to
5cb8c31
Compare
|
Closing this as it's no longer needed after feature branches merge |


Summary
Points the wrapper at the released native SDKs that ship geofence:
android/gradle.properties:cioSDKVersionAndroid→4.20.0package.json:cioNativeiOSSdkVersion→= 4.7.0What changed since review ✅
Native geofence is now released — Android
4.20.0and iOS4.7.0— so the temporary pre-release scaffolding this PR carried is gone, exactly as the merge plan described.Dropped (was Commit 2): the snapshot Maven repo, the
feature-geofence-on-device-SNAPSHOTexample pin, thecustomerio-iosgit-branch pods / CocoaPods override, the temporary= 4.6.1iOS pin, and thefeature-branchFirebase CI line. The example app and CI now build against the released SDKs like any other change.What's left is the single version-bump commit that was always the keeper — the two-commit / do-not-squash caveat no longer applies.
Verification
4.20.0on Maven Central, including theio.customer.android:geofenceartifact the wrapper'scompileOnly/apidependency needs.4.7.0publishes theCustomerIO/LocationGeofenceumbrella subspec that the wrapper'sgeofencesubspec depends on, so it resolves from trunk with no git pod.Ticket
MBL-1785 — React Native: add geofencing support
PR stack
allowBackgroundDeliveryconfig🤖 Generated with Claude Code